如何使用 python 生成二维码?

您所在的位置:网站首页 python 生成条形码 如何使用 python 生成二维码?

如何使用 python 生成二维码?

2022-12-14 10:51| 来源: 网络整理| 查看: 265

​现在我们几乎每天都在使用二维码,添加个朋友,支付个费用,登录个网站等等都使用到了二维码,你会不会有时候在想,为什么对方不给你二维码扫一下,加个好友呢?

哦,不是,你会不会有时候在想,为啥每一张看似差不多的二维码图片,里面都承载了各式各样的信息呢?又如何使用 Python 去生成自己想要的二维码呢?

那么接下来,就是:

学习 Python 的正确姿势

先来简单说下,其实每一张二维码,都可以看成是一种数据的加密,在这里面的数据,可以通过某种编码,转化成黑白不同的点,然后按顺序排列其中。

当我们去识别二维码的时候,其实就是把这些数据转化回来。

有时候你会发现二维码把它打歪,也能照常识别:

这是因为有定位的标识,比如这上面的三个大方块就是用来定位的。

有时候你也会发现,有些二维码看起来比较简单,而有的却很复杂的样子:

这要取决于不同的输入数据编码类型,版本,以及纠错级别。

其中版本分 1-40 个级别,版本越高,能存储的数据就越多,用公式来表示就是这样:vx4+17 。

而纠错级别又分为 L、M、Q、H,有时候你可能看到有些二维码整的花里胡哨,或者有的地方缺失了还是能被识别,这可能是这张二维码的容错级别比较高。

而级别越低,纠错能力越低,但是能存储更多的数据。所以一个二维码,最大可以有 177x177 个矩阵,也就是第 40 版本,而纠错级别是最 low 的哪一个。

40x4 + 17:

而这些格式信息,都可以在三个大方块的边沿定义,然后剩下的区域就是来放数据码和纠错码的,你可以把每个小方块看成一个 bit,0 代表白色, 1 代表黑色。

那如果有些地方很多 1 ,不就都特么黑了么?这时候还需要用掩码来掩一下黑黑的地方,这样才有利于机器的识别。

恩,可能你已经被我整懵了。

没关系,如果你想知道二维码的更多细节,可以看看这一篇:https://en.wikipedia.org/wiki/QR_code

知道了二维码这么几个东东之后,我们接下来玩玩 Python 生成二维码和识别吧。

有一个 qrcode 库生成二维码很是方便,可以使用 pip 先安装一下:

pip install qrcode

ubutnu 可以使用 apt install:

sudo apt install python3-qrcode

接着就可以直接使用 qr 命令来生成二维码了:

一行命令就搞定啦,是不是贼方便,当然,如果你要定义一些复杂一些的,比如定义我们刚刚说的纠错级别,版本等,我们可以导入 qrcode 这个库,然后你可以自己写几行代码定义一下:

运行一波:

刚刚我们说了,二维码可以容错,所以可以让它变得花里胡哨一些,比如小帅b公众号中文末常留下的这玩意:

扫一扫

学习 Python 没烦恼

把它们融合起来可以是这样的:

变成彩色也是可以的:

而这,也是可以使用一行命令实现:

这里用到的是 myqr 的库,其中 -v 可以指定二维码版本,-l 指定纠错级别, -c 可以显示彩色二维码, -n 可以指定生成的二维码名称。

像我刚刚那样生成的二维码,只需要一个地址,一张 gif ,然后通过这样的命令就可以实现了:

如果你想识别二维码的话,可以使用 pyzbar 来实现。

比如有这么一张二维码:

可以通过 opencv 读取这张图片,然后使用 pyzbar 进行解码:

ok,以上就是小帅b今天给你带来的分享,希望对你有帮助,我们下回见,peace!

最后:

欢迎加入小帅b的 VIP,陪你一起学习 Python:通往 Python 高手之路



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3